home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Start/stop the cron daemon.
- #
- ### BEGIN INIT INFO
- # Provides: cron
- # Required-Start: $remote_fs $syslog $time
- # Required-Stop: $remote_fs $syslog $time
- # Should-Start: $named slapd autofs ypbind nscd nslcd
- # Should-Stop: $named slapd autofs ypbind nscd nslcd
- # Default-Start: 2 3 4 5
- # Default-Stop:
- # Short-Description: Regular background program processing daemon
- # Description: cron is a standard UNIX program that runs user-specified
- # programs at periodic scheduled times. vixie cron adds a
- # number of features to the basic UNIX cron, including better
- # security and more powerful configuration options.
- ### END INIT INFO
-
-
- test -f /usr/sbin/cron || exit 0
-
- PIDFILE=/var/run/crond.pid
- # In some systems the pidfile might be (incorrectly) set to /etc
- # if this pidfile is present, use it instead.
- [ -e /etc/cron.pid ] && PIDFILE=/etc/crond.pid
- [ -r /etc/default/cron ] && . /etc/default/cron
-
- . /lib/lsb/init-functions
-
-
- # Read the system's locale and set cron's locale. This is only used for
- # setting the charset of mails generated by cron. To provide locale
- # information to tasks running under cron, see /etc/pam.d/cron.
- #
- # We read /etc/environment, but warn about locale information in
- # there because it should be in /etc/default/locale.
- parse_environment ()
- {
- for ENV_FILE in /etc/environment /etc/default/locale; do
- [ -r "$ENV_FILE" ] || continue
- [ -s "$ENV_FILE" ] || continue
-
- for var in LANG LANGUAGE LC_ALL LC_CTYPE; do
- value=`egrep "^${var}=" "$ENV_FILE" | tail -n1 | cut -d= -f2`
- [ -n "$value" ] && eval export $var=$value
-
- if [ -n "$value" ] && [ "$ENV_FILE" = /etc/environment ]; then
- log_warning_msg "/etc/environment has been deprecated for locale information; use /etc/default/locale for $var=$value instead"
- fi
- done
- done
-
- # Get the timezone set.
- if [ -z "$TZ" -a -e /etc/timezone ]; then
- TZ=`cat /etc/timezone`
- fi
- }
-
- # Parse the system's environment
- if [ "$READ_ENV" = "yes" ] ; then
- export LANG LC_ALL LC_CTYPE TZ LC_COLLATE
- parse_environment
- LC_COLLATE=C # Force collation sequence since ASCII is expected in regexps
- fi
-
-
- case "$1" in
- start) log_daemon_msg "Starting periodic command scheduler" "cron"
- start-stop-daemon --start --quiet --pidfile $PIDFILE --name cron --startas /usr/sbin/cron -- $LSBNAMES $EXTRA_OPTS
- log_end_msg $?
- ;;
- stop) log_daemon_msg "Stopping periodic command scheduler" "cron"
- start-stop-daemon --stop --quiet --pidfile $PIDFILE --name cron
- log_end_msg $?
- ;;
- restart) log_daemon_msg "Restarting periodic command scheduler" "cron"
- start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE --name cron
- start-stop-daemon --start --quiet --pidfile $PIDFILE --name cron --startas /usr/sbin/cron -- $LSBNAMES $EXTRA_OPTS
- log_end_msg $?
- ;;
- reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
- # cron reloads automatically
- log_end_msg 0
- ;;
- status)
- log_action_begin_msg "Checking periodic command scheduler"
- if pidofproc -p "$PIDFILE" >/dev/null; then
- log_action_end_msg 0 "running"
- exit 0
- else
- if [ -e "$PIDFILE" ]; then
- log_action_end_msg 1 "failed to start"
- exit 1
- else
- log_action_end_msg 0 "not running"
- exit 3
- fi
- fi
- ;;
- *) log_action_msg "Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}"
- exit 2
- ;;
- esac
- exit 0
-